Web Browsing
There are several web browsers in use today, including Internet Explorer, Firefox and Chrome. All browsers essentially function in the same way, by allowing a user to visit a web address and view the content on the web page. When a user visits a web page and sees a Media Object such as Video, Radio or RSS, the user can play the Media Object in one of two ways:                1. Play the media from within the web page (as an embedded component), for example a YouTube video that appears within the web page upon which it is found. In this case, the user must keep the web browser on the webpage that is hosting the video in order to watch the video, as the video is embedded in the web page.        2. By launching a “Media Player” and watching the video in a window provided by the “Media Player” (as a stand alone application), such as Windows Media Player, Apple Quicktime or Real Player. In this case, the user must have the “Media Player” running as a foreground application in order to be able to see the video.DOM in Web Browsers        
Web Browsers are software programs that can be used to visit a web site and produce a graphic representation of a web page called a Document Object Model (DOM).
The DOM is rendered by the web browser by means of computer code designed to interpret HTML and other file formats delivered by a web server to the Web Browser. The resulting DOM can contain many “Objects”, including text, images and video.
The Web Browser displays Video Objects in the DOM by employing a Media Player to interpret the data related to the video.
Media Players
Media Players are software programs that decode, play and display data files containing sound and/or video. Media Players generally run in one of two ways:                1. Independent Operation—The Media Player is executed as a stand alone program to display a file indicated by a user. When a Media Player runs “independently”, the media is generally displayed inside a stand alone window.        2. Dependent Operation—The Media Player is executed by a browser visiting a web page. During “dependent operation” the Media Player runs as a “child” process of the browser and the Media Object is rendered in the Document Object Model (DOM). When the Media Player runs “dependently”, the media is displayed as part of the DOM and is not easily extracted for independent viewing.        
A large percentage of the media available on the web today is presented using Dependent Operation of the Media Player, forcing the user to have the Web Browser open to the web page in which the video is contained. There are many reasons why a computer user may wish to direct media to a Media Player running independently of the browser, so the media can be watched without the surrounding Objects in the DOM. For example:                1. ToolBar Display—If the user wishes to display the Media Object in a ToolBar as described in U.S. patent application Ser. No. 12/210,202 entitled “SYSTEM FOR MANAGING MULTI-MEDIA CONTENT ACROSS MULTIPLE SOFTWARE APPLICATIONS”, filed 14 Sep. 2008, which is incorporated herein by reference.        2. Console Display—If the user wishes to display the Media Object in a stand alone Media Player or window.        
Most users visit web pages for brief periods of time, often as little as a few seconds. By contrast, most Media Objects, such as Video, Audio and RSS, are consumed over longer periods of time. For example, a user may spend 15 seconds reading the content on a web page, but may be expected to spend 10 minutes watching a video clip referenced within the web page.
When a User visits a web page containing a video clip, it is either difficult or sometimes impossible for the “User” to move to a subsequent web page while continuing to watch the video. While it is possible for the user to watch the video in a separate window, for example by using a Media Player or a separate window on the desktop, the user must then minimize the size of the browser to allow room for both applications to run side by side, in effect reducing the space on the screen for the web browser.
There is a temporal incompatibility between the text and the Media Objects found on most web pages. Users wishing to consume Media must generally remain on a web page to watch a video long after they have lost interest in the surrounding text and graphics.
In some cases, a user with a conventional Web Browser and Media Player may be able to obtain the URL for videos and other Media Objects by examining the data in the DOM or the data in the HTML of the web page containing the video object. When the user obtains the URL of the video object, the user may be able to play the video “independently” in a stand alone application, such as a ToolBar or Console.
However, in most cases the URL for videos and other objects contained within web pages cannot be obtained from the DOM or the HTML of a web page and passed to a Media Player. For example, most Video Objects displayed within the DOM's of web pages are the result of processes (such as AJAX—Asynchronous Java and XML) that are executed concurrently with the creation of the DOM. In these cases a URL cannot be obtained and passed to an independent software application.
Although some automated tools have been developed to uncover the URLs hidden behind AJAX by analyzing the Document Object Model (DOM) of a web page, these efforts are easily defeated if the web developer employs:                a. the use of dynamic URLs or cookies, causing any URL that is automatically obtained by analyzing the DOM to expire and be useless to subsequent processes that attempt to use the URL, or        b. the use of AJAX code that is deliberately designed to be difficult for an automated process to detect the URL, such as graphics that are not easily recognized by an automated system.        
Additionally, automated tools are unable to determine the difference between Media Objects in the DOM that are useful or relevant and content that is irrelevant. For example, a pre-roll advertisement may precede the content desired by the user. A system that uncovers the URL of the pre-roll advertisement will tend to ignore the URL of the subsequent video which is desired by the user.
A typical web page can contain many Media Objects, such as Flash or Windows Media Player elements, but many of these Media Objects may simply contain graphical devices used to make the web page look appealing to a user and do not contain the type of Media that a user may wish to have indexed for future retrieval. A system that relies on an automated tool analyzing the DOM will regularly identify pieces of a web page such as advertisements along with video content, without regard to what is actually contained within each Media Object. A user relying upon the location of a Media Object that contains large numbers of irrelevant entries would soon find the experience frustrating.
As a result, web content that is hidden behind AJAX and other similar schemes cannot be reliably identified automatically by Web Crawlers and is invisible to Media Players running independently of the web browser.
Many web sites employ the use of proprietary Media Players which cannot be easily replicated by a “stand alone” Independent Media Player. For example, video which is encrypted can only be decoded by a proprietary Media Player which is often delivered to the Browser during the execution and rendering of the web page or DOM. In these cases, the Object rendered in the DOM relies upon the Browser interacting with the server using AJAX (Asynchronous Java and XML) or a similar process to obtain the instructions needed to display the Media Object (referred to herein as “pre-recorded instructions”).
A significant percentage of valuable Media on the Internet cannot be obtained directly by means of a URL because web developers employ methods such as:                1. Cookies that can only be obtained by visiting the URL of the web page that houses the Media Object before accessing the Media Object's URL.        2. Dynamically Assigned URLs that expire and cannot be accessed by subsequent visitors to a web page.        
Methods such as cookies and dynamic URL assignment defeat conventional methods of locating content on the web (such as Search Engines, Directories, Portals and Favorites), because the URL address of the Media Object content is not static and results in an “expired cookie” or “broken link” when the user tries to reach the content.
The Web is an environment in which the content is increasingly composed of Media Objects, such as Video, Audio and RSS. This content is frequently guarded behind AJAX and other schemes and is often not referenced by static URLs. As a result, most video available on the web cannot be independently accessed with a conventional Media Player.
Users wishing to view a Media Object on a web page employing AJAX or similar schemes must visit the web page with a Browser and watch while a Media Player runs in Dependent Operation of the browser, requiring the user to view the entire web page as well as the Media Object.
Additionally, if users were reliably able to run Media Objects in a ToolBar or Console it is reasonable to assume they would often wish to run more than one Media Object concurrently. For example, a user may wish to run several videos concurrently in a ToolBar. While some services exist that allow users to extract a portion of a web page and display the selected portion, these services are unable to independently control the sound produced by the Media Object isolated in the DOM, as the sound is attributed to the process ID of the browser. If a user were to start multiple Media Objects concurrently using a standard service capable of displaying an Object in the DOM, all of the Media Objects would emit sound simultaneously—rendering the process useless for Media Objects that produce sound.
Since current services that isolate Objects in the DOM are unable to usefully handle multiple Objects producing sound, such as video or Internet Radio or podcasts, the inability to control the sound produced by each individual Media Object would limit a ToolBar or Console application to a single sound emitting Media Object.
A significant proportion of the video and audio available on the Internet is found in the form of “clips” or short segments that play for a defined period of time. As a consequence, a user playing multiple videos concurrently will run into a logistical problem as video clips will constantly be ending, causing the user to have to attend to start another video.
While conventional Media Players can easily detect the end of a file when referencing a URL, the task of detecting the “end” of a video is not easy when the video is being played in Dependent Operation within an embedded Browser. A software program analyzing the DOM has no easy way to detect the “end of file”, as there is no “video file” to examine.
Many Media Objects found on the Internet are displayed in a format where the Media Object does not run automatically upon the web page being loaded into memory. When a user visits a web page containing a Media Object hidden behind AJAX or similar schemes, the user must click on a graphic or perform a sequence of tasks to cause the Media Object to execute. A user running many Media Objects would be required to constantly start Media Objects by clicking on graphics.
The foregoing examples of the related art and limitations related thereto are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study of the drawings.